enum EnvType { dev, prod }

class AppConfig {
  static const String appName = 'Voilink';
  static const String packageName = 'com.example.flutter_boilerplate';
  static const String version = '1.0.0';
  static const String buildNumber = '1';

  // 主题配置
  static const bool useDarkTheme = false;

  // 当前环境类型（保持原始命名）
  static EnvType _currentEnv = EnvType.dev;
  // 环境配置映射（保持原始参数命名）
  static const Map<EnvType, String> _baseUrls = {
    EnvType.dev: 'https://hy-test.qmtool.cn/vichat_api',
    EnvType.prod: 'https://vidzo.vidzochat.com/client_api',
  };

  /// 获取当前环境BaseURL（优化空安全）
  static String get baseUrl => _baseUrls[_currentEnv]!;

  /// 获取当前环境类型（保持原始命名）
  static EnvType get currentEnv => _currentEnv;

  /// 设置当前环境（添加空安全校验）
  static void setEnv(EnvType env) {
    if (!_baseUrls.containsKey(env)) {
      throw ArgumentError('Invalid environment type: $env');
    }
    _currentEnv = env;
  }

  /// 判断开发环境（优化表达式）
  static bool get isDev => _currentEnv == EnvType.dev;

  // 超时配置（保持原始命名）
  static const int connectTimeout = 15000;
  static const int receiveTimeout = 15000;
  static const int sendTimeout = 10000;

  // 加密密钥
  static const String encryptKey = 'ede98b1413b9eae9431e7a17eec5e00f';
}
